//package com.quanshi.qs.utils.async;
//
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.scheduling.annotation.EnableAsync;
//import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
//
//import java.util.concurrent.Executor;
//import java.util.concurrent.ThreadPoolExecutor;
//
//@Configuration
//@EnableAsync
//public class AsyncConfiguration {
//
//    // 定义线程池
//    @Bean("cookieTheadPool")
//    public Executor mailTheadPool() {
//
//        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
//        // 核心线程数： 线程吃创建时候初始化的线程数
//        executor.setCorePoolSize(10);
//        // 最大线程数： 线程池最大的的最大线程数， 只有在缓冲队列满了之后才会申请超过核心线程数的线程
//        executor.setMaxPoolSize(50);
//        // 缓冲队列： 用来存储等待执行的任务的队列
//        executor.setQueueCapacity(500);
//        // 允许线程的空闲事时间 60秒： 当超过了核心线程之外的线程再空闲时间到达之后会被销毁
//        executor.setKeepAliveSeconds(60);
//        // 线程池名的前缀： 设置好了之后可以方便我们定位处理任务所在的线程池
//        executor.setThreadNamePrefix("cookie-thread-pool-");
//        //  缓冲队列满了之后的拒绝策略： 由调用线程处理（一般是主线程）
//        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.DiscardPolicy());
//        executor.initialize();
//        return  executor;
//
//    }
//}
